//#define _CRT_SECURE_NO_WARNINGS 1
//
//
//class Solution {
//public:
//    int calculate(string s) {
//        stack<int> stk;
//        int num = 0;
//        int sign = 1;
//        int result = 0;
//        for (char c : s) {
//            if (isdigit(c)) {
//                num = num * 10 + (c - '0');
//            }
//            else if (c == '+') {
//                result += sign * num;
//                sign = 1;
//                num = 0;
//            }
//            else if (c == '-') {
//                result += sign * num;
//                sign = -1;
//                num = 0;
//            }
//            else if (c == '(') {
//                stk.push(result);
//                stk.push(sign);
//                result = 0;
//                sign = 1;
//            }
//            else if (c == ')') {
//                result += sign * num;
//                num = 0;
//                result *= stk.top();
//                stk.pop();
//                result += stk.top();
//                stk.pop();
//            }
//        }
//        result += sign * num;
//        return result;
//    }
//};